package org.jeecg.modules.lab.items.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@ApiModel(value="lab_taskUserPage对象", description="实验人员信息")
public class LabTaskUserPage {

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "人员id")
    private String id;

    /**
     * 真实姓名
     */
    @ApiModelProperty(value = "真实姓名")
    private String realname;

    /**
     * 出生日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "出生日期")
    private Date birthday;

    /**
     * 性别（1：男 2：女）
     */
    @Dict(dicCode = "sex")
    @ApiModelProperty(value = "性别")
    private Integer sex;

    /**部门名称*/
    @ApiModelProperty(value = "部门名称")
    private transient String orgCodeTxt;

    @ApiModelProperty(value = "工号")
    private String workNo;

    @Dict(dictTable ="sys_position",dicText = "name",dicCode = "code")
    @ApiModelProperty(value = "职务")
    private String post;

    /**
     * 身份（1普通成员 2上级 3实验员）
     */
    @ApiModelProperty(value = "身份")
    private Integer userIdentity;

    @Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
    @ApiModelProperty(value = "负责部门")
    private String departIds;

    @TableField(exist = false)
    @ApiModelProperty(value = "职位名称")
    private String postText;

    @Excel(name = "文化程度", width = 15, dicCode = "education")
    @Dict(dicCode = "education")
    @ApiModelProperty(value = "文化程度")
    private java.lang.String educational;

    @ApiModelProperty(value = "职称")
    private String technicalTitle;

    @Excel(name = "证件类型", width = 15, dicCode = "card_type")
    @Dict(dicCode = "card_type")
    @ApiModelProperty(value = "证件类型")
    private java.lang.String cardType;

    @ApiModelProperty(value = "证件号码")
    private String cardNumber;

    @ApiModelProperty(value = "所学专业")
    private String specialty;

    @ApiModelProperty(value = "从事本技术领域起始时间")
    private Date startWorkDate;

    @ApiModelProperty(value = "从事本技术领域年限")
    private Float workYear;

    @ApiModelProperty(value = "本人简历")
    private String vitae;

    @ApiModelProperty(value = "民族")
    private String nation;

    @ApiModelProperty(value = "籍贯")
    private String nativePlace;


    @ApiModelProperty(value = "政治面貌")
    private String politicsFace;

    @ApiModelProperty(value = "当前项目数")
    private String num;
}
